package main

import "fmt"

const MAX int = 3

func main() {
	a := []int{10, 100, 200}
	var i int
	var ptr [MAX]*int //ptr是一个指针数组，可以用来保存数组

	for i = 0; i < MAX; i++ {
		ptr[i] = &a[i] /* 整数地址赋值给指针数组 */
	}

	for i = 0; i < MAX; i++ {
		fmt.Printf("a[%d] = %d\n", i, *ptr[i])
	}

	var ptrToArr *[]int //ptrToArr可以指向整个数组
	ptrToArr = &a
	fmt.Printf("%x\n", ptrToArr) //十六进制打印
	fmt.Printf("%d\n", ptrToArr) //十进制打印
	fmt.Println(*ptrToArr)       //打印指针对应的值
	/*
		&[a 64 c8]
		&[10 100 200]
		[10 100 200]
	*/
}
